package com.xiang.api.config.MyConfig;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import lombok.Data;

@Data
@Component
public class WebSocket {

  @Value("${my-config.web-socket.host}")
  public String host;
  // 设置最大每帧处理数据的长度，防止他人利用大数据来攻击服务器
  @Value("${my-config.web-socket.maxFramePayloadLength}")
  public int maxFramePayloadLength;
  // 设置http交互最大内容长度
  @Value("${my-config.web-socket.maxHttpContentLength}")
  public int maxHttpContentLength;
  // socket连接数大小（如只监听一个端口boss线程组为1即可）
  @Value("${my-config.web-socket.bossCount}")
  public int bossCount;
  @Value("${my-config.web-socket.workCount}")
  public int workCount;
  @Value("${my-config.web-socket.allowCustomRequests}")
  public boolean allowCustomRequests;
  // 协议升级超时时间（毫秒），默认10秒。HTTP握手升级为ws协议超时时间
  @Value("${my-config.web-socket.upgradeTimeout}")
  public int upgradeTimeout;
  // Ping消息超时时间（毫秒），默认60秒，这个时间间隔内没有接收到心跳消息就会发送超时事件
  @Value("${my-config.web-socket.pingTimeout}")
  public int pingTimeout;
  // Ping消息间隔（毫秒），默认25秒。客户端向服务器发送一条心跳消息间隔
  @Value("${my-config.web-socket.pingInterval}")
  public int pingInterval;

}
